Networked computer systems play important roles in the operation of many businesses and organizations. The performance of a computer system providing services to a business and/or customers of a business may be integral to the successful operation of the business. A computer system refers generally to any collection of one or more devices interconnected to perform a desired function, provide one or more services, and/or to carry out various operations of an organization, such as a business corporation, etc.
In some computer systems, the operation and maintenance of the system is delegated to one or more administrators (or operators) that make up the system's Information Technology (IT) organization. When a computer system is managed by an IT organization, the computer system may be referred to as an IT environment. The IT organization may set-up a computer system to provide end users with various application or transactional services, access to data, network access, etc., and establish the environment, security and permissions landscape and other capabilities of the computer system. This model allows dedicated personnel to customize the system, centralize application installation, establish access permissions, and generally handle the operation of the enterprise in a way that is largely transparent to the end user. The day-to-day maintenance and servicing of the system as well as the contributing personnel are referred to as IT operations.
As IT and application infrastructures become more complex, predicting and controlling system performance and capacity planning have become a difficult task to many organizations. Capacity planning, as used herein, refers to determining the amount of IT resources needed by an organization to meet changing demands. IT resources may include any resource, virtual or physical, that is used to process or service requests issued by users commonly referred to as “clients”.
Traditional capacity planning techniques are often inadequate for accurately predicting resource needs. Often, the amount of IT resources that are expected to be needed by an organization are determined by trial and error. As a result, in many cases, the workload actually encountered by a deployed system does not correspond with a synthetic workload that was expected for the system. Further, workloads often include composite transactions (i.e., a single transaction comprising a plurality of transactions), and determining a resource cost for such composite transactions is challenging for system designers. As a result, IT resources are either underutilized or over-utilized and the excess capacity is stored for emergency situations.
If, however, the capacity requirements for IT resources could be accurately predicted, then the IT resources could be used more effectively without over-utilizing or underutilizing these resources.